<?php
	namespace Admin\Controller;
	use Admin\Controller\AdminController;
	class ConfigController extends AdminController{
		public function index(){
			 /* 查询条件初始化 */
			 $map=array();
			 $map=array('status'=>1);
			 if(isset($_GET['group'])){
				 $map['group']=I('get.group',0);
			 }
			 if(isset($_GET['name'])){
				  $map['name']    =   array('like', '%'.(string)I('get.name').'%');
			 }
			 $list=$this->lists('Config',$map,'sort,id');
			 $this->meta_title = '配置管理';
			 $this->assign("list",$list);
			 $this->assign('group',C('CONFIG_GROUP_LIST'));
			 $this->assign("group_id",I('get.group',0));
			 $this->display();
			 //echo "<pre/>";print_r($list);

		}
		// 获取某个标签的配置参数
		public function group(){
			$id=I('get.id',0);
			$map=array('group'=>$id,'status'=>1);
			$type   =   C('CONFIG_GROUP_LIST');

			$list=M('Config')->where($map)->field('id,name,title,extra,value,remark,type')->order('sort')->select();
			/*foreach($list as $v){
				echo "<pre/>";print_r($v['extra']);
			}*/
			if($list){
				$this->assign('list',$list);
			}
			$this->assign("id",$id);
			$this->meta_title=$type[$id].'设置';
			
			$this->display();
		}
		/**
        * 新增配置
       */
	   public function add(){
		   if(IS_POST){
			   $config=D('Config');
			   if($config->create()){
				   if($config->add()){
					   $this->success('新增成功', U('index'));
				   }else{
					   $this->error("新增失败");
				   }
			   }else{
				   $this->error($config->getError());
			   }
		   }else{
			   $this->meta_title="新增配置";
			   $this->assign('info',null);
               $this->display('edit');
		   }
	   }
	   /**
        *编辑配置
       */
	   public function edit($id= 0){
		   if(IS_POST){
			   $config=D('Config');
			   if($config->create()){
				   if($config->save()!==false){
					   $this->success('更新成功', Cookie('__forward__'));
				   }else{
					   $this->error("更新失败");
				   }
			   }
			   else{
				   $this->error($config->getError());
			   }
		   }
		   else{
			   $info = array();
			   $info=M('Config')->field(true)->find($id);
			   if($info==false){
				   $this->error("获取信息错误");
			   }
				$this->assign('info', $info);
				$this->meta_title = '编辑配置';
				$this->display();
		   }
	   }
	   /**
        *删除配置
       */
		public function del(){
			$id = array_unique((array)I('get.id',0));
			 if ( empty($id) ) {
			  $this->error('请选择要操作的数据!');
			 }
			  $map = array('id' => array('in', $id) );
				if(M('Config')->where($map)->delete()){
					S('DB_CONFIG_DATA',null);
					//记录行为
					action_log('update_config','config',$id,UID);
					$this->success('删除成功');
				} else {
					$this->error('删除失败！');
				}

		}
		 /**
		 * 配置排序
		 */
		 public function sort(){
			 if(IS_GET){
				 $ids = I('get.ids');
				 $map = array('status'=>array('gt',-1));
				 if(!empty($ids)){
					$map['id'] = array('in',$ids);
				}elseif(I('get.group')){
					 $map['group']=I('get.group');
				 }
				 $list=M('Config')->where($map)->field('id,title')->order('sort asc,id asc')->select();
				 $this->assign('list', $list);
                 $this->meta_title = '配置排序';
				 $this->display();
			 }else if(IS_POST){
				 $ids=I('post.ids');
				  $ids = explode(',', $ids);
				foreach ($ids as $key=>$value){
					$res = M('Config')->where(array('id'=>$value))->setField('sort', $key+1);
				}
				if($res !== false){
					$this->success('排序成功！',Cookie('__forward__'));
				}else{
					$this->error('排序失败！');
				}

			 }else{
				  $this->error('非法请求！');
			 }
		 }

	}
?>